#ifndef _VIDEOUI_H_
#define _VIDEOUI_H_

#include "lvgl.h"
#include <functional>

namespace VideoUI
{
    using ExitCb = std::function<void(void)>;
    using GetPlayStateCb = std::function<bool(void)>;
    using PauseCb = std::function<void(void)>;
    using PlayCb = std::function<void(const char *)>;
    using SetCurCb = std::function<void(int)>;
    using GetVolumeCb = std::function<int(void)>;
    using SetVolumeCb = std::function<void(int)>;

    struct Operations
    {
        ExitCb exitCb;
        GetPlayStateCb getStateCb;   // 获取播放状态
        PauseCb pauseCb;           // 当前视频暂停回调函数
        PlayCb playCb;             // 视频播放回调函数
        SetCurCb setCurCb;       // 视频设置进度回调函数
        GetVolumeCb getVolumeCb; // 获取视频音量回调函数
        SetVolumeCb setVolumeCb; // 设置视频音量回调函数
    };

    void create(Operations &opts);
    void release(void);
    void addVideoList(const char *name);
    void setPlayProgress(int cur, int total);
};

#endif
